package com.lagou.constant;

import com.lagou.model.UserMessage;

/**

 * TODO: 常量

 */
public interface Constant {
    /**
     * 成功
     */
    String FAIL = "fail";
    /**
     * 失败
     */
    String SUCCESS = "success";
    /**
     * 管理员登陆
     */
    String MANAGER_LOGIN = "managerCheck";
    /**
     * 退出
     */
    String EXIT = "clientExit";
    /**
     * 添加学员账户
     */
    String ADD_USER = "clientAddUser";
    /**
     * 删除学员账户
     */
    String DELETE_USER = "clientDeleteUser";
    /**
     * 修改学员账户
     */
    String UPDATE_USER = "clientUpdateUser";
    /**
     * 查询学员账户
     */
    String GET_USER = "clientGetUser";
    /**
     * 添加考题
     */
    String ADD_QUESTION = "clientAddQuestion";
    /**
     * 删除考题
     */
    String DELETE_QUESTION = "clientDeleteQuestion";
    /**
     * 修改考题
     */
    String UPDATE_QUESTION = "clientUpdateQuestion";
    /**
     * 查询考题
     */
    String GET_QUESTION = "clientGetQuestion";
    /**
     * 导入考题
     */
    String IMPORT_QUESTION = "clientImportQuestion";
    /**
     * 学员用户登陆
     */
    String USER_LOGIN = "userCheck";
    /**
     * 修改密码
     */
    String CHANGE_PASS = "changePass";
    /**
     * 开始考试
     */
    String START_EXAM = "startExam";
    /**
     * 结束考试
     */
    String END_EXAM = "endExam";
    /**
     * 导出成绩
     */
    String EXPORT_STORE = "exportStore";
    /**
     * 查询成绩
     */
    String GET_STORE = "getStore";
    /**
     * 消息错误
     */
    String MESSAGE_ERROR = "messageError";
    /**
     * 选项A
     */
    String CHOOSE_A = "A";
    /**
     * 选项B
     */
    String CHOOSE_B = "B";
    /**
     * 选项C
     */
    String CHOOSE_C = "C";
    /**
     * 选项D
     */
    String CHOOSE_D = "D";
    /**
     * 考试题数
     */
    int EXAM_NUM = 10;

    /**
     * 自定义通用的打印请求结果的静态方法
     * @param tum 消息实体
     * @param successRes 成功的提示
     * @param failRes 失败的提示
     */
    static void showResult(UserMessage tum, String successRes, String failRes) {
        switch (tum.getType()) {
            case Constant.SUCCESS:
                System.out.println(successRes);
                break;
            case Constant.FAIL:
                System.out.println(failRes);
                break;
            default:
                System.out.println("请求消息类型错误！");
        }
    }

    /**
     * 自定义通用的判断答题输入选项的静态方法
     * @param choose 输入的选项
     * @return 结果
     */
    static boolean checkChoose(String choose) {
        switch (choose) {
            case CHOOSE_A:
            case CHOOSE_B:
            case CHOOSE_C:
            case CHOOSE_D:
                return false;
            default:
                System.out.println("输入错误，请重新输入！");
        }
        return true;
    }
}
